<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FreeRTOS Addons: cpp_freertos::TickHook Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">FreeRTOS Addons
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecpp__freertos.html">cpp_freertos</a></li><li class="navelem"><a class="el" href="classcpp__freertos_1_1_tick_hook.html">TickHook</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classcpp__freertos_1_1_tick_hook-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">cpp_freertos::TickHook Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="tickhook_8hpp_source.html">tickhook.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a19ed559a5b773e59e4642393327aec32"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__freertos_1_1_tick_hook.html#a19ed559a5b773e59e4642393327aec32">TickHook</a> ()</td></tr>
<tr class="separator:a19ed559a5b773e59e4642393327aec32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3cd6f7bc5dfd1fd5e74abe39d4a0d97"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__freertos_1_1_tick_hook.html#ab3cd6f7bc5dfd1fd5e74abe39d4a0d97">~TickHook</a> ()</td></tr>
<tr class="separator:ab3cd6f7bc5dfd1fd5e74abe39d4a0d97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad27b81ce05861c700c23ed8f74866d4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__freertos_1_1_tick_hook.html#ad27b81ce05861c700c23ed8f74866d4d">Disable</a> ()</td></tr>
<tr class="separator:ad27b81ce05861c700c23ed8f74866d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8ea102ad88baaf66ad43f4578871eb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__freertos_1_1_tick_hook.html#ad8ea102ad88baaf66ad43f4578871eb3">Enable</a> ()</td></tr>
<tr class="separator:ad8ea102ad88baaf66ad43f4578871eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eabef7015620be2d272b320533c47b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__freertos_1_1_tick_hook.html#a3eabef7015620be2d272b320533c47b7">Register</a> ()</td></tr>
<tr class="separator:a3eabef7015620be2d272b320533c47b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad066f6c25d23e546bf7bc0190d8907f7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcpp__freertos_1_1_tick_hook.html#ad066f6c25d23e546bf7bc0190d8907f7">Run</a> ()=0</td></tr>
<tr class="separator:ad066f6c25d23e546bf7bc0190d8907f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Wrapper class for Tick hooks, functions you want to run within the tick ISR.</p>
<p >This is an abstract base class. To use this, you need to subclass it. All of your tick functions should be derived from this class. Then implement the virtual Run function.</p>
<p >You can register multiple hooks with this class. The order of execution should not be assumed. All tick hooks will execute every tick. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a19ed559a5b773e59e4642393327aec32" name="a19ed559a5b773e59e4642393327aec32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19ed559a5b773e59e4642393327aec32">&#9670;&#160;</a></span>TickHook()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cpp_freertos::TickHook::TickHook </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p >Constructor. </p>

</div>
</div>
<a id="ab3cd6f7bc5dfd1fd5e74abe39d4a0d97" name="ab3cd6f7bc5dfd1fd5e74abe39d4a0d97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3cd6f7bc5dfd1fd5e74abe39d4a0d97">&#9670;&#160;</a></span>~TickHook()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual cpp_freertos::TickHook::~TickHook </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p >Destructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad27b81ce05861c700c23ed8f74866d4d" name="ad27b81ce05861c700c23ed8f74866d4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad27b81ce05861c700c23ed8f74866d4d">&#9670;&#160;</a></span>Disable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cpp_freertos::TickHook::Disable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p >Disable the tick hook from running, without removing it from the tick hook list. </p>

</div>
</div>
<a id="ad8ea102ad88baaf66ad43f4578871eb3" name="ad8ea102ad88baaf66ad43f4578871eb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8ea102ad88baaf66ad43f4578871eb3">&#9670;&#160;</a></span>Enable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cpp_freertos::TickHook::Enable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p >Enable this Idle Hook to run. This call is not necessary if you haven't called Disable. </p>

</div>
</div>
<a id="a3eabef7015620be2d272b320533c47b7" name="a3eabef7015620be2d272b320533c47b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3eabef7015620be2d272b320533c47b7">&#9670;&#160;</a></span>Register()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cpp_freertos::TickHook::Register </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p >After this is called your Run routine will execute in the Tick ISR. This registration cannot be done in the base class constructor. Once your object is fully constructed, you "may" call this in your derived class's constructor. </p><dl class="section note"><dt>Note</dt><dd>Immedately after you call this function, your <a class="el" href="classcpp__freertos_1_1_tick_hook.html">TickHook</a> <a class="el" href="classcpp__freertos_1_1_tick_hook.html#ad066f6c25d23e546bf7bc0190d8907f7">Run()</a> method will run, perhaps before you even return from this call. You "must" be ready to run before you call <a class="el" href="classcpp__freertos_1_1_tick_hook.html#a3eabef7015620be2d272b320533c47b7">Register()</a>. </dd></dl>

</div>
</div>
<a id="ad066f6c25d23e546bf7bc0190d8907f7" name="ad066f6c25d23e546bf7bc0190d8907f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad066f6c25d23e546bf7bc0190d8907f7">&#9670;&#160;</a></span>Run()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cpp_freertos::TickHook::Run </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p >Implementation of your actual Tick Hook code. You must override this function. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/<a class="el" href="tickhook_8hpp_source.html">tickhook.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
</small></address>
</body>
</html>
